`:top
`!Bionic`! ist eine `F33f`_`[Programmbibliothek`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Programmbibliothek]`_`f des `F33f`_`[Android`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Android_(Betriebssystem)]`_`f-`F33f`_`[Betriebssystems`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Betriebssystem]`_`f, die den Funktionsumfang der `F33f`_`[C-Standard-Bibliothek`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=C-Standard-Bibliothek]`_`f, der Bibliothek für mathematische Funktionen `F33f`_`[libm`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Math.h]`_`f, der Bibliothek zum `F33f`_`[dynamischen Linken`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Dynamisches_Linken]`_`f libdl und weiteren Funktionsumfang bereitstellt. Bionic unterliegt der `F33f`_`[BSD-Lizenz`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=BSD-Lizenz]`_`f und wird von der `F33f`_`[Open Handset Alliance`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Open_Handset_Alliance]`_`f weiterentwickelt.
Der Name Bionic ist eine Anspielung auf den heterogenen Ursprung des genutzten `F33f`_`[Quellcodes`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Quellcode]`_`f.`:cite-ref-bionicoverview-2-0[`F5bf`_`[2`#cite-note-bionicoverview-2]`_`f]
>>Contents
• `F0af`_`[Entwicklungsziele`#entwicklungsziele]`_`f
• `F0af`_`[Unterschiede zu POSIX`#unterschiede-zu-posix]`_`f
• `F0af`_`[Unterstützte Plattformen`#unterst-tzte-plattformen]`_`f
• `F0af`_`[Bestandteile`#bestandteile]`_`f
• `F0af`_`[Weblinks`#weblinks]`_`f
• `F0af`_`[Einzelnachweise`#einzelnachweise]`_`f
-─
>>Entwicklungsziele
Mit Bionic sollte eine einfache, effiziente, BSD-lizenzierte C-Bibliothek für das Android-System erstellt werden. Das Entwicklungs-Motto lautete `*keep it really simple`*.`:cite-ref-bionicoverview-2-1[`F5bf`_`[2`#cite-note-bionicoverview-2]`_`f] Android-Systeme sind häufig batteriebetrieben, verfügten über wenig `F33f`_`[Haupt-`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Hauptspeicher]`_`f und `F33f`_`[Massenspeicher`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Massenspeicher]`_`f und nutzten niedrig getaktete Prozessoren.
Durch die BSD-Lizenzierung entfallen `F33f`_`[Copyleft`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Copyleft]`_`f-Restriktionen, dadurch vereinfacht sich die Entwicklung proprietärer Bestandteile des Android-Systems.
Populäre, häufig genutzte Erweiterungen der `F33f`_`[GNU-C-Bibliothek`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=GNU-C-Bibliothek]`_`f, sowie der BSD-C-Bibliotheken wurden in Bionic übernommen.
Als Betriebssystem-Kern ist ausschließlich `F33f`_`[Linux`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Linux_(Kernel)]`_`f vorgesehen, eine Binär-Kompatibilität beispielsweise mit der GNU-C-Bibliothek ist nicht vorgesehen.
>>Unterschiede zu POSIX
Ziel der Entwicklung von Bionic war eine weitgehende Kompatibilität zu `F33f`_`[POSIX`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=POSIX]`_`f und dem C11-Standard der `F33f`_`[Programmiersprache C`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=C_(Programmiersprache)]`_`f. In der Android-Version `*Oreo`* aus dem Jahr 2018 sind dennoch etwa 70 POSIX-Funktionen der libc nicht enthalten. Ursache für dieses Auslassen von Funktionen ist u. a., dass bestimmte Funktionalität in Android nicht genutzt werden, so nutzt Android beispielsweise keine passwd- und group-Datenbanken, wodurch Zugriffsfunktionen wie `B100`F9d9getpwent`f`b nicht implementierbar sind und nicht benötigt werden.`:cite-ref-bionicoverview-2-2[`F5bf`_`[2`#cite-note-bionicoverview-2]`_`f]
Einige Funktionalitäten wurde absichtlich nicht POSIX-konform gestaltet, so wurde etwa auf Unterstützung des `F33f`_`[printf`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Printf]`_`f-Formats `B100`F9d9%n`f`b aus Sicherheitserwägungen verzichtet.`:cite-ref-3[`F5bf`_`[3`#cite-note-3]`_`f]
>>Unterstützte Plattformen
Es werden die Plattformen `F33f`_`[x86`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=IA-32]`_`f, `F33f`_`[x86-64`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=X64]`_`f, `F33f`_`[Armv7-a`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Arm-Architektur]`_`f und `F33f`_`[ARM64`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=ARM64]`_`f unterstützt. Bis zum Android Native Development Kit (NDK) r17 wurde ARMv5, `F33f`_`[MIPS`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=MIPS-Architektur]`_`f und MIPS64 unterstützt.`:cite-ref-4[`F5bf`_`[4`#cite-note-4]`_`f] Eine experimentelle `F33f`_`[SH-4`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=SuperH]`_`f Unterstützung wurde kommerziell nie eingesetzt und ist inzwischen eingestellt.
>>Bestandteile
Teile der libc wie etwa stdio stammen aus `F33f`_`[OpenBSD`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=OpenBSD]`_`f, der DNS-Resolver aus `F33f`_`[NetBSD`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=NetBSD]`_`f, der Quellcode der libm für mathematische Funktionen entspricht in weiten Teilen der `F33f`_`[FreeBSD`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=FreeBSD]`_`f-Version, wurde aber von mehreren `F33f`_`[System-on-a-Chip`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=System-on-a-Chip]`_`f-Herstellern durch `F33f`_`[Assembler`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Assemblersprache]`_`f-Implementierungen optimiert.`:cite-ref-bionicoverview-2-3[`F5bf`_`[2`#cite-note-bionicoverview-2]`_`f]
Die `F33f`_`[Header-Dateien`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Header-Datei]`_`f zum Zugriff auf Linux-`F33f`_`[Systemaufrufe`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Systemaufruf]`_`f werden automatisch aus den Header-Dateien des Linux-Quellcodes generiert, sämtlicher als Copyright-relevant angesehener Inhalt wird bei der Generierung entfernt.`:cite-ref-bionicoverview-2-4[`F5bf`_`[2`#cite-note-bionicoverview-2]`_`f]
Die Unterstützung für POSIX-`F33f`_`[Threads`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Thread_(Informatik)]`_`f (libpthread) sowie die Implementierung zum dynamischen Linken (libdl) wurden vollständig neu entwickelt.
Funktionalitäten, die auf POSIX-Systemen in den Bibliotheken libpthread, libresolv und librt bereitgestellt werden, sind bei Bionic direkt in der libc implementiert.
>>Weblinks
• Offizielles Versionsverwaltungssystem des Bionic Quellcodes
• Android Native Development Kit (NDK)
>>Einzelnachweise
`:cite-note-bc0ddb02c15a8c80-1`!1.`! Release 1.0.14. 12. Juli 2019 (abgerufen am 12. Juli 2019).
`:cite-note-bionicoverview-2`!2.`! `F0af`_`[↑`#cite-ref-bionicoverview-2-0]`_`f The Android Open Source Project: `*Bionic C Library Overview.`* 3. März 2009, abgerufen am 6. Dezember 2018.
`:cite-note-3`!3.`! `F0af`_`[↑`#cite-ref-3]`_`f Elliott Hughes: `*libc: #define to remove support for %n from printf(3)?`* 2. Mai 2014, abgerufen am 5. Dezember 2018 (englisch).
`:cite-note-4`!4.`! `F0af`_`[↑`#cite-ref-4]`_`f `*NDK Revision History.`* Abgerufen am 6. Dezember 2018 (englisch).
`c`F0af`_`[↑ Back to top`#top]`_`f`a